package demo.practice.tree.depth;

import demo.practice.TreeNode;

public class P129 {

    /**
     * 输入：root = [1,2,3]
     * 输出：25
     * 解释：
     * 从根到叶子节点路径 1->2 代表数字 12
     * 从根到叶子节点路径 1->3 代表数字 13
     *
     * @param root
     * @return
     */

    int sum = 0;

    public int sumNumbers(TreeNode root) {

        sumNumbers( root,  0);
        return sum;
    }

    public void sumNumbers(TreeNode root, Integer sumpath) {
        if (root != null) {

            if (root.right == null && root.left == null)
                sum += sumpath * 10 + root.val;

            if (root.right != null)
                sumNumbers(root.right, sumpath * 10 + root.val);

            if (root.left != null)
                sumNumbers(root.left, sumpath * 10 + root.val);

        }
    }

}
